package ucla.axelia.controlador.servicios;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Restrictions;

import com.obelisco.modelo.data.DataGenerica;

import ucla.axelia.controlador.interfaces.IServicioAdministracionReporteReconocimientosAnno;
import ucla.axelia.modelo.dao.ServicioPostuladoTemporalDAO;
import ucla.axelia.modelo.data.PostuladosTemporal;

public class ServicioAdministracionReporteReconocimientosPostuladosAnno
		implements IServicioAdministracionReporteReconocimientosAnno {

	private ServicioPostuladoTemporalDAO servicioPostuladoTemporalDAO;

	@Override
	public List<PostuladosTemporal> buscarReconocimientos(int annoEntrega) {
		Calendar c1 = Calendar.getInstance(), c2 = Calendar.getInstance();
		c1.set(annoEntrega, 1, 1);
		c2.set(annoEntrega + 1, 1, 1);
		List<Criterion> criterios = new ArrayList<Criterion>();
		criterios.add(Restrictions.gt("id.fechaRegistro", c1.getTime()));
		criterios.add(Restrictions.lt("id.fechaRegistro", c2.getTime()));
		return servicioPostuladoTemporalDAO.buscarPorPropiedades(criterios, DataGenerica.DATA_ACTIVO);
	}

	public void setServicioPostuladoTemporalDAO(
			ServicioPostuladoTemporalDAO servicioPostuladoTemporalDAO) {
		this.servicioPostuladoTemporalDAO = servicioPostuladoTemporalDAO;
	}

	public ServicioPostuladoTemporalDAO getServicioPostuladoTemporalDAO() {
		return servicioPostuladoTemporalDAO;
	}

}
